﻿using System;
using System.Collections.Generic;
using System.Text;
using WeShare.WeiXin.Pay.EnumKey;

namespace WeShare.WeiXin.Pay
{
    public class RefundReq : BasePay
    {
        /// <summary>
        /// 商户退款单号	
        /// </summary>
        public string out_refund_no { get; set; }
        /// <summary>
        /// 商户订单号
        /// </summary>
        public string out_trade_no { get; set; }
        /// <summary>
        /// 微信订单号
        /// </summary>
        public string transaction_id { get; set; }
        /// <summary>
        /// 订单金额
        /// </summary>
        public int total_fee { get; set; }
        /// <summary>
        /// 退款总金额，订单总金额，单位为分，只能为整数
        /// </summary>
        public int refund_fee { get; set; }

        /// <summary>
        /// 退款货币类型，需与支付一致，或者不填。
        /// </summary>
        public string refund_fee_type { get; set; }
        /// <summary>
        /// 若商户传入，会在下发给用户的退款消息中体现退款原因
        /// </summary>
        public string refund_desc { get; set; }
        /// <summary>
        /// 仅针对老资金流商户使用REFUND_SOURCE_UNSETTLED_FUNDS---未结算资金退款（默认使用未结算资金退款）REFUND_SOURCE_RECHARGE_FUNDS---可用余额退款
        /// </summary>
        public RefundAccount? refund_account { get; set; }
        /// <summary>
        /// 异步接收微信支付退款结果通知的回调地址，通知URL必须为外网可访问的url，不允许带参数如果参数中传了notify_url，则商户平台上配置的回调地址将不会生效。
        /// </summary>
        public string notify_url { get; set; }
    }
}
